package com.songlanyun.modules.disabilityauth.model;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableId;
import com.songlanyun.common.drive.ValueObject;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class DisabilityAuthEntityDTO implements ValueObject {
    private static final long serialVersionUID = 1L;

    @TableId
    private Long id;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 真实姓名
     */
    @NotBlank(message = "请填写真实姓名")
    @Length(min = 1, max = 30, message = "真实姓名在1-30个字")
    private String realName;
    /**
     * 身份证号
     */
    @NotBlank(message = "请填写身份证号")
    @Length(min = 18, max = 20, message = "身份证号在18-20个字")
    private String idCard;
    /**
     * 手机号
     */
    @NotBlank(message = "请填写手机号")
    @Length(min = 11, max = 20, message = "手机号在11-20位")
    private String mobile;
    /**
     * 认证标签
     */
    private Integer iscccLable;
    /**
     * 身份证正面
     */
    @NotBlank(message = "请上传身份证正面图片")
    private String idCardFront;
    /**
     * 身份证背面
     */
    @NotBlank(message = "请上传身份证背面图片")
    private String idCardBack;
    /**
     * 证明材料
     */
    @NotNull(message = "请上传证明材料图片")
    private JSONArray certificate;
    /**
     * 申请时间
     */
    private Date applyTime;
    /**
     * 福利包id
     */
    private Integer benefitsPackageId;

    /**
     * 省名
     */
    @NotBlank(message = "请填写省名")
    private String provinceName;
    /**
     * 省编号
     */
    @NotBlank(message = "请填写省编号")
    private String provinceCode;
    /**
     * 市名
     */
    @NotBlank(message = "请填写市名")
    private String cityName;
    /**
     * 市编号
     */
    @NotBlank(message = "请填写市编号")
    private String cityCode;
    /**
     * 区名
     */
    @NotBlank(message = "请填写区名")
    private String areaName;
    /**
     * 区编号
     */
    @NotBlank(message = "请填写区编号")
    private String areaCode;
}
